//package com.data.web.config;
//
//import com.data.web.handlerTcpData.TcpDecoderHandler;
//import io.netty.buffer.ByteBuf;
//import io.netty.buffer.Unpooled;
//import io.netty.handler.codec.DelimiterBasedFrameDecoder;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang.StringUtils;
//import org.springframework.boot.CommandLineRunner;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import reactor.core.publisher.Flux;
//import reactor.netty.tcp.TcpServer;
//
//import java.time.Duration;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
//
//@Configuration
//@Slf4j
//public class DataServer {
//
//
//
//    //天翼云IP
//    private String udpIp = "192.168.1.243";
//
////阿里云那个服务器要启动的话不能用内网IP，要用0。0。0。0,很奇怪
//    //阿里测试服务器IP
////    private String udpIp = "172.31.125.205";
//
//
//
//
////    private String udpIp = "0.0.0.0";
//
//    private Integer tcpPort = 54421;
//
////    private Integer tcpPort = 8083;
//
//    //54326 正式环境
//    //54328 测试环境
//    //30502 本地测试
//    private int udpPort = 54326;
////    private int udpPort = 8082;
//
//
//    @Bean
//    CommandLineRunner serverRunner(TcpDecoderHandler tcpDecoderHandler) {
//        String ip;
//        if(StringUtils.isEmpty(udpIp)){
//            ip = "0.0.0.0";
//        }else{
//            ip = udpIp;
//        }
//
//        String finalIp = ip;
//        log.info("服务器地址是:" + finalIp);
//
//        return strings -> {
//            createTcpServer(tcpDecoderHandler);
//        };
//    }
//
//
//
//
//    private void createTcpServer(TcpDecoderHandler tcpDecoderHandler) {
//        log.info("开启TCP服务器");
//        ByteBuf delimiter = Unpooled.copiedBuffer("END;".getBytes());
//        TcpServer.create()
//                .handle((in,out) -> {
//                    in.receive()
//                            .asByteArray()
//                            .subscribe();
//                    return Flux.never();
//                })
//                .doOnConnection(conn ->
//                        conn.addHandler(tcpDecoderHandler)
//                ) //实例只写了如何添加handler,可添加delimiter，tcp生命周期，decoder，encoder等handler
//                .port(tcpPort)
//                .bindNow();
//    }
//
//
//
//
//
//    public static String replaceBlank(String str) {
//        String dest = "";
//        if (str!=null) {
//            Pattern pattern = Pattern.compile("[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~！@#￥%……&*（）——+|{}【】‘；：”“’。，、？]");
//            Matcher m = pattern.matcher(str);
//            dest = m.replaceAll("");
//        }
//        return dest;
//    }
//
//    public static void main(String[] args){
//
//        String aaa = "ip=123.456.677.111, type=dip, channel=com8";
//        String bb = aaa.replaceAll("ip=","").replaceAll("type=","").replaceAll("channel=","");
//        System.out.printf("11");
//    }
//}
